Integrating support for undo with exception handling
نویسندگان
چکیده
One of the important tasks of exception handling is to restore program state and invariants. Studies suggest that this is often done incorrectly. We introduce a new language construct that integrates automated memory recovery with exception handling. When an exception occurs, memory can be automatically restored to its previous state. We also provide a mechanism for applications to extend the automatic recovery mechanism with callbacks for restoring the state of external resources. We describe a logging-based implementation and evaluate its effect on performance. The implementation imposes no overhead on parts of the code that do not make use of this feature.
منابع مشابه
EDD: A Declarative Debugger for Sequential Erlang Programs
Declarative debuggers are semi-automatic debugging tools that abstract the execution details to focus on the program semantics. This paper presents a tool implementing this approach for the sequential subset of Erlang, a functional language with dynamic typing and strict evaluation. Given an erroneous computation, it first detects an erroneous function (either a “named” function or a lambda-abs...
متن کاملAn Agent Based Approach for the Decentralised Compensation of Business Processes
An automated execution of business processes, composed of Web Services, also requires a reliable error handling and in the case of failures at least parts of a process need to be recovered. One way to enable a backward oriented recovery is compensation which allows to semantically undo effects even ”long” time after the process –a long running transaction– commits. Usually, compensation as for ...
متن کاملWorkflow Recovery Framework for Exception Handling: Involving the User
Unexpected exceptions in WfMS are situations not predicted during the design phase. Human involvement in handling this type of exceptions has been recognized to be a crucial factor. We developed a framework to support the user in handling these situations by redesigning the flow, ad hoc executing the affected tasks, and manipulating engine status. A good characterization of the exception is nee...
متن کاملIntegrating Automated Testing with Exception Freeness Proofs for Safety Critical Systems
The exception handling code of a system is in general the least documented, tested and understood part, since exceptions are expected to occur only rarely. This paper presents a technique for automatically generating test-data to test exceptions. The approach is based on the application of a dynamic global optimi-sation based search for the required test-data. The authors' work has focused on t...
متن کاملIntegrating Editing in a Monolingual Environment
A monolingual environment offers a common language for the various activities supported by the system. Previous work shows how a monolingual environment may be created for carrying out the programming, command invocation, and debugging tasks. In this paper extensions to such an environment to also support editing are discussed. The role of editing is compared with the role of interactive progra...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
دوره شماره
صفحات -
تاریخ انتشار 2004